import request from '@/utils/request';

/**
 * 获取仪表盘统计数据
 * @returns {Promise} 包含订单数、用户数、收入和优惠券使用数等统计数据
 */
export function getDashboardStats() {
    return request({
        url: '/admin/dashboard/stats',
        method: 'get'
    });
}

/**
 * 获取销售趋势数据
 * @param {String} timeRange - 时间范围：'day', 'week', 'month', 'year'
 * @returns {Promise} 包含时间序列的销售数据
 */
export function getSalesTrend(timeRange = 'week') {
    return request({
        url: '/admin/dashboard/sales-trend',
        method: 'get',
        params: { timeRange }
    });
}

/**
 * 获取销售分类占比数据
 * @param {String} timeRange - 时间范围：'day', 'week', 'month', 'year'
 * @returns {Promise} 包含各分类销售占比的数据
 */
export function getCategorySales(timeRange = 'week') {
    return request({
        url: '/admin/dashboard/category-sales',
        method: 'get',
        params: { timeRange }
    });
}

/**
 * 获取最近订单数据
 * @param {Number} limit - 获取的订单数量
 * @returns {Promise} 包含最近订单的列表数据
 */
export function getRecentOrders(limit = 5) {
    return request({
        url: '/admin/dashboard/recent-orders',
        method: 'get',
        params: { limit }
    });
}

/**
 * 获取热门商品数据
 * @param {Number} limit - 获取的商品数量
 * @returns {Promise} 包含热门商品的列表数据
 */
export function getHotProducts(limit = 5) {
    return request({
        url: '/admin/dashboard/hot-products',
        method: 'get',
        params: { limit }
    });
}

/**
 * 获取用户增长数据
 * @param {String} timeRange - 时间范围：'week', 'month', 'year'
 * @returns {Promise} 包含用户增长的时间序列数据
 */
export function getUserGrowth(timeRange = 'month') {
    return request({
        url: '/admin/dashboard/user-growth',
        method: 'get',
        params: { timeRange }
    });
}

export default {
    getDashboardStats,
    getSalesTrend,
    getCategorySales,
    getRecentOrders,
    getHotProducts,
    getUserGrowth
}; 